package cn.fl.riskctrl.xjdb.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.riskctrl.xjdb.vo.XjnpApplySnVO;
import fl.riskctrl.facade.xjdb.dto.XjnpApplySnDTO;


 /**
 * @Description: 信加个人申请流水号表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class XjnpApplySnVOTransform {


	/**
	 * DTO 转  VO
	 * @param po XjnpApplySnDTO
	 * @return XjnpApplySnVO
	 */
	public static XjnpApplySnVO toVO(XjnpApplySnDTO dto) {
		XjnpApplySnVO  vo = null;
		if (dto != null) { 
			vo = new XjnpApplySnVO();
			vo.setId(dto.getId());
			vo.setUsrNm(dto.getUsrNm());//名称
			vo.setCertNo(dto.getCertNo());//证件号码
			vo.setCertTypCd(dto.getCertTypCd());//证件类型(RCT0006)(0-身份证，1-户口本，2-护照，3-军官证，4-士兵证，5-港澳通行证，6-台湾通行证，7-临时身份证，8-外国人居留证，9-警官证，X-其他证件)
			vo.setMp(dto.getMp());//手机号码
			vo.setBkNo(dto.getBkNo());//银行卡号
			vo.setApplyTm(dto.getApplyTm());//申请时间
			vo.setApiUrl(dto.getApiUrl());//API请求地址
			vo.setAccountNm(dto.getAccountNm());//登录帐号
			vo.setAccountPwd(dto.getAccountPwd());//登录密码
			vo.setClientIp(dto.getClientIp());//客户端IP地址
			vo.setQueryFormat(dto.getQueryFormat());//查询版式(RCT0012)
			vo.setQueryReason(dto.getQueryReason());//查询原因(RCT0011)
			vo.setQueryStrategy(dto.getQueryStrategy());//查询策略(RCT0008)0-本地，1-本地优先，2-征信系统
			vo.setQueryTyp(dto.getQueryTyp());//查询类型(RCT0009) 0-信用报告查询，1-身份信息核查，2-信用报告查询（含数字解读）
			vo.setQueryNo(dto.getQueryNo());//流水号(信加返回流水号)
			vo.setRemark(dto.getRemark());//备注
			vo.setIsValid(dto.getIsValid());//是否有效(SYS0021)
			vo.setIsDel(dto.getIsDel());//是否删除(SYS0021)

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto XjnpApplySnVO
	 * @return XjnpApplySnDTO
	 */
	public static XjnpApplySnDTO toDTO(XjnpApplySnVO vo) {
		XjnpApplySnDTO dto = null;
		if (vo != null) {
			dto = new XjnpApplySnDTO();
			dto.setId(vo.getId());
			dto.setUsrNm(vo.getUsrNm());//名称
			dto.setCertNo(vo.getCertNo());//证件号码
			dto.setCertTypCd(vo.getCertTypCd());//证件类型(RCT0006)(0-身份证，1-户口本，2-护照，3-军官证，4-士兵证，5-港澳通行证，6-台湾通行证，7-临时身份证，8-外国人居留证，9-警官证，X-其他证件)
			dto.setMp(vo.getMp());//手机号码
			dto.setBkNo(vo.getBkNo());//银行卡号
			dto.setApplyTm(vo.getApplyTm());//申请时间
			dto.setApiUrl(vo.getApiUrl());//API请求地址
			dto.setAccountNm(vo.getAccountNm());//登录帐号
			dto.setAccountPwd(vo.getAccountPwd());//登录密码
			dto.setClientIp(vo.getClientIp());//客户端IP地址
			dto.setQueryFormat(vo.getQueryFormat());//查询版式(RCT0012)
			dto.setQueryReason(vo.getQueryReason());//查询原因(RCT0011)
			dto.setQueryStrategy(vo.getQueryStrategy());//查询策略(RCT0008)0-本地，1-本地优先，2-征信系统
			dto.setQueryTyp(vo.getQueryTyp());//查询类型(RCT0009) 0-信用报告查询，1-身份信息核查，2-信用报告查询（含数字解读）
			dto.setQueryNo(vo.getQueryNo());//流水号(信加返回流水号)
			dto.setRemark(vo.getRemark());//备注
			dto.setIsValid(vo.getIsValid());//是否有效(SYS0021)
			dto.setIsDel(vo.getIsDel());//是否删除(SYS0021)

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<XjnpApplySnDTO>
	 * @return List<XjnpApplySnVO>
	 */
	public static List<XjnpApplySnVO> toVOList(List<XjnpApplySnDTO> list) {
		List<XjnpApplySnVO>  voList = new ArrayList<XjnpApplySnVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (XjnpApplySnDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<XjnpApplySnVO>
	 * @return List<XjnpApplySnDTO>
	 */
	public static List<XjnpApplySnDTO> toDTOList(List<XjnpApplySnVO> list) {
		List<XjnpApplySnDTO>  dtoList = new ArrayList<XjnpApplySnDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (XjnpApplySnVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
